﻿namespace Sidvall.AuthorizationManager.Data.ConfigModel
{
    public sealed partial class GenericEntityFacade : global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityFacadeBase
    {
        #region Public Members

        #region UserConfigurationManager

        private global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.AuthorizationManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IUserConfiguration>> _UserConfigurationManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.AuthorizationManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IUserConfiguration>> UserConfigurationManager
        {
            get
            {
                return _UserConfigurationManager;
            }
            private set
            {
                _UserConfigurationManager = value;
            }
        }

        #endregion
        #region ServerConnectionManager

        private global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ServerConnectionManager<global::Sidvall.AuthorizationManager.Data.IServerConnection, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IServerConnection>> _ServerConnectionManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ServerConnectionManager<global::Sidvall.AuthorizationManager.Data.IServerConnection, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IServerConnection>> ServerConnectionManager
        {
            get
            {
                return _ServerConnectionManager;
            }
            private set
            {
                _ServerConnectionManager = value;
            }
        }

        #endregion
        #region ResourceOptionManager

        private global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ResourceOptionManager<global::Sidvall.AuthorizationManager.Data.IResourceOption, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IResourceOption>> _ResourceOptionManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ResourceOptionManager<global::Sidvall.AuthorizationManager.Data.IResourceOption, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IResourceOption>> ResourceOptionManager
        {
            get
            {
                return _ResourceOptionManager;
            }
            private set
            {
                _ResourceOptionManager = value;
            }
        }

        #endregion
        #region ActionOptionManager

        private global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ActionOptionManager<global::Sidvall.AuthorizationManager.Data.IActionOption, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IActionOption>> _ActionOptionManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ActionOptionManager<global::Sidvall.AuthorizationManager.Data.IActionOption, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IActionOption>> ActionOptionManager
        {
            get
            {
                return _ActionOptionManager;
            }
            private set
            {
                _ActionOptionManager = value;
            }
        }

        #endregion
        #region AuthorizationContextManager

        private global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.AuthorizationContextManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationContext, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationContext>> _AuthorizationContextManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.AuthorizationContextManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationContext, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationContext>> AuthorizationContextManager
        {
            get
            {
                return _AuthorizationContextManager;
            }
            private set
            {
                _AuthorizationContextManager = value;
            }
        }

        #endregion
        #region ClaimManager

        private global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ClaimManager<global::Sidvall.AuthorizationManager.Data.IClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IClaim>> _ClaimManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ClaimManager<global::Sidvall.AuthorizationManager.Data.IClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IClaim>> ClaimManager
        {
            get
            {
                return _ClaimManager;
            }
            private set
            {
                _ClaimManager = value;
            }
        }

        #endregion
        #region FilterContextManager

        private global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.FilterContextManager<global::Sidvall.AuthorizationManager.Data.IFilterContext, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IFilterContext>> _FilterContextManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.FilterContextManager<global::Sidvall.AuthorizationManager.Data.IFilterContext, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IFilterContext>> FilterContextManager
        {
            get
            {
                return _FilterContextManager;
            }
            private set
            {
                _FilterContextManager = value;
            }
        }

        #endregion
        
        #endregion
        #region Helper Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
        private void Init()
        {
            this.UserConfigurationManager = new global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.AuthorizationManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IUserConfiguration>>(this);
            this.ServerConnectionManager = new global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ServerConnectionManager<global::Sidvall.AuthorizationManager.Data.IServerConnection, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IServerConnection>>(this);
            this.ResourceOptionManager = new global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ResourceOptionManager<global::Sidvall.AuthorizationManager.Data.IResourceOption, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IResourceOption>>(this);
            this.ActionOptionManager = new global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ActionOptionManager<global::Sidvall.AuthorizationManager.Data.IActionOption, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IActionOption>>(this);
            this.AuthorizationContextManager = new global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.AuthorizationContextManager<global::Sidvall.AuthorizationManager.Data.IAuthorizationContext, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IAuthorizationContext>>(this);
            this.ClaimManager = new global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.ClaimManager<global::Sidvall.AuthorizationManager.Data.IClaim, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IClaim>>(this);
            this.FilterContextManager = new global::Sidvall.AuthorizationManager.Data.ConfigModel.EntityManagers.FilterContextManager<global::Sidvall.AuthorizationManager.Data.IFilterContext, Sidvall.Data.IDataRowProvider<global::Sidvall.AuthorizationManager.Data.IFilterContext>>(this);
        }

        #endregion
        #region Constructors

        public GenericEntityFacade(global::Sidvall.Data.IResourceFactory resourceFactory)
            : base(resourceFactory)
        {
            Init();
        }
        public GenericEntityFacade(global::Sidvall.AuthorizationManager.Data.ConfigModel.IEntityFacadeManager entityFacadeManager)
            : base(entityFacadeManager)
        {
            Init();
        }

        #endregion
    }
}